/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.ugent.maf.cellmissy.gui.experiment.analysis.singlecell;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;

/**
 *
 * @author paola
 */
public class TrackCoordinatesPanel extends javax.swing.JPanel {

    /**
     * Creates new form TrackCoordinatesPanel
     */
    public TrackCoordinatesPanel() {
        initComponents();
    }

    public JPanel getDataTablePanel() {
        return dataTablePanel;
    }

    public JPanel getCoordinatesParentPanel() {
        return coordinatesParentPanel;
    }

    public JRadioButton getShiftedCoordinatesRadioButton() {
        return shiftedCoordinatesRadioButton;
    }

    public JRadioButton getUnshiftedCoordinatesRadioButton() {
        return unshiftedCoordinatesRadioButton;
    }

    public JLabel getTableInfoLabel() {
        return tableInfoLabel;
    }

    public JTextField getRandomTracksNumberTextField() {
        return randomTracksNumberTextField;
    }

    public JTextField getTracksNumberConditionTextField() {
        return tracksNumberConditionTextField;
    }

    public JTextField getTracksNumberWellTextField() {
        return tracksNumberWellTextField;
    }

    public JComboBox getWellsComboBox() {
        return wellsComboBox;
    }

    public JButton getRandomAndPlotButton() {
        return randomAndPlotButton;
    }

    public JButton getPlotAllTracksButton() {
        return plotAllTracksButton;
    }

    public JPanel getExploreTrackParentPanel() {
        return exploreTrackParentPanel;
    }

    public JPanel getPlotSettingsPanel() {
        return plotSettingsPanel;
    }

    public JRadioButton getConditionRadioButton() {
        return conditionRadioButton;
    }

    public JTable getPlottedTracksTable() {
        return plottedTracksTable;
    }

    public JRadioButton getWellRadioButton() {
        return wellRadioButton;
    }

    public JRadioButton getDoNotScaleRadioButton() {
        return doNotScaleRadioButton;
    }

    public JRadioButton getScaleToConditionRadioButton() {
        return scaleToConditionRadioButton;
    }

    public JRadioButton getScaleToExperimentRadioButton() {
        return scaleToExperimentRadioButton;
    }

    public JPanel getGraphicsParentPanel() {
        return graphicsParentPanel;
    }

    public JRadioButton getDoNotScaleGlobViewRadioButton() {
        return doNotScaleGlobViewRadioButton;
    }

    public JRadioButton getScaleGlobViewRadioButton() {
        return scaleGlobViewRadioButton;
    }

    public JPanel getGlobalViewPlotSettingsPanel() {
        return globalViewPlotSettingsPanel;
    }

    public JTabbedPane getTrackCoordinatesTabbedPane() {
        return trackCoordinatesTabbedPane;
    }

    public JComboBox getnColsComboBox() {
        return nColsComboBox;
    }

    public JRadioButton getGlobalViewShiftedCoordinatesRadioButton() {
        return globalViewShiftedCoordinatesRadioButton;
    }

    public JRadioButton getGlobalViewUnshiftedCoordinatesRadioButton() {
        return globalViewUnshiftedCoordinatesRadioButton;
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        trackCoordinatesTabbedPane = new javax.swing.JTabbedPane();
        overviewPanel = new javax.swing.JPanel();
        radioButtonsPanel = new javax.swing.JPanel();
        unshiftedCoordinatesRadioButton = new javax.swing.JRadioButton();
        shiftedCoordinatesRadioButton = new javax.swing.JRadioButton();
        tableInfoLabel = new javax.swing.JLabel();
        bottomPanel = new javax.swing.JPanel();
        dataTablePanel = new javax.swing.JPanel();
        coordinatesParentPanel = new javax.swing.JPanel();
        trackingPlotPanel = new javax.swing.JPanel();
        plotAllTracksButton = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        randomTracksNumberTextField = new javax.swing.JTextField();
        randomAndPlotButton = new javax.swing.JButton();
        jLabel8 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        tracksNumberConditionTextField = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        wellsComboBox = new javax.swing.JComboBox();
        jLabel3 = new javax.swing.JLabel();
        tracksNumberWellTextField = new javax.swing.JTextField();
        conditionRadioButton = new javax.swing.JRadioButton();
        wellRadioButton = new javax.swing.JRadioButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        plottedTracksTable = new javax.swing.JTable();
        plotSettingsPanel = new javax.swing.JPanel();
        otherOptionsPanel = new javax.swing.JPanel();
        doNotScaleRadioButton = new javax.swing.JRadioButton();
        scaleToConditionRadioButton = new javax.swing.JRadioButton();
        scaleToExperimentRadioButton = new javax.swing.JRadioButton();
        globalViewPanel = new javax.swing.JPanel();
        optionsPanel = new javax.swing.JPanel();
        globalViewPlotSettingsPanel = new javax.swing.JPanel();
        doNotScaleGlobViewRadioButton = new javax.swing.JRadioButton();
        scaleGlobViewRadioButton = new javax.swing.JRadioButton();
        nColsComboBox = new javax.swing.JComboBox();
        jLabel5 = new javax.swing.JLabel();
        globalViewUnshiftedCoordinatesRadioButton = new javax.swing.JRadioButton();
        globalViewShiftedCoordinatesRadioButton = new javax.swing.JRadioButton();
        graphicsParentPanel = new javax.swing.JPanel();
        exploreTrackParentPanel = new javax.swing.JPanel();

        setBackground(new java.awt.Color(255, 255, 255));
        setPreferredSize(new java.awt.Dimension(1000, 680));

        trackCoordinatesTabbedPane.setTabPlacement(javax.swing.JTabbedPane.BOTTOM);

        overviewPanel.setLayout(new java.awt.GridBagLayout());

        radioButtonsPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        radioButtonsPanel.setOpaque(false);
        radioButtonsPanel.setPreferredSize(new java.awt.Dimension(20, 20));

        unshiftedCoordinatesRadioButton.setText("unshifted coordinates");
        unshiftedCoordinatesRadioButton.setOpaque(false);

        shiftedCoordinatesRadioButton.setText("coordinates shifted to (0, 0)");
        shiftedCoordinatesRadioButton.setOpaque(false);

        tableInfoLabel.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N
        tableInfoLabel.setMinimumSize(new java.awt.Dimension(20, 20));
        tableInfoLabel.setPreferredSize(new java.awt.Dimension(20, 20));

        javax.swing.GroupLayout radioButtonsPanelLayout = new javax.swing.GroupLayout(radioButtonsPanel);
        radioButtonsPanel.setLayout(radioButtonsPanelLayout);
        radioButtonsPanelLayout.setHorizontalGroup(
            radioButtonsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(radioButtonsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(radioButtonsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(radioButtonsPanelLayout.createSequentialGroup()
                        .addComponent(unshiftedCoordinatesRadioButton)
                        .addGap(18, 18, 18)
                        .addComponent(shiftedCoordinatesRadioButton))
                    .addComponent(tableInfoLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 574, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(452, 452, 452))
        );
        radioButtonsPanelLayout.setVerticalGroup(
            radioButtonsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, radioButtonsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(radioButtonsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(shiftedCoordinatesRadioButton)
                    .addComponent(unshiftedCoordinatesRadioButton))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(tableInfoLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 0.07;
        overviewPanel.add(radioButtonsPanel, gridBagConstraints);

        bottomPanel.setBackground(new java.awt.Color(255, 255, 255));
        bottomPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        bottomPanel.setPreferredSize(new java.awt.Dimension(20, 20));
        bottomPanel.setLayout(new java.awt.GridBagLayout());

        dataTablePanel.setMinimumSize(new java.awt.Dimension(20, 20));
        dataTablePanel.setOpaque(false);
        dataTablePanel.setPreferredSize(new java.awt.Dimension(20, 20));
        dataTablePanel.setLayout(new java.awt.BorderLayout());
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 0.55;
        gridBagConstraints.weighty = 0.3;
        bottomPanel.add(dataTablePanel, gridBagConstraints);

        coordinatesParentPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        coordinatesParentPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        coordinatesParentPanel.setOpaque(false);
        coordinatesParentPanel.setPreferredSize(new java.awt.Dimension(20, 20));
        coordinatesParentPanel.setLayout(new java.awt.GridBagLayout());
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 0.55;
        gridBagConstraints.weighty = 0.7;
        bottomPanel.add(coordinatesParentPanel, gridBagConstraints);

        trackingPlotPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Tracks Display..."));
        trackingPlotPanel.setFocusable(false);
        trackingPlotPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        trackingPlotPanel.setOpaque(false);
        trackingPlotPanel.setPreferredSize(new java.awt.Dimension(20, 20));

        plotAllTracksButton.setText("Plot All Tracks");

        jLabel2.setText("Randomly select");

        randomTracksNumberTextField.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(153, 153, 153)));

        randomAndPlotButton.setText("Randomize & Replot");

        jLabel8.setText("tracks");

        jLabel1.setText("number tracks for current condition:");

        tracksNumberConditionTextField.setEditable(false);
        tracksNumberConditionTextField.setBackground(new java.awt.Color(255, 255, 255));
        tracksNumberConditionTextField.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        tracksNumberConditionTextField.setBorder(null);
        tracksNumberConditionTextField.setFocusable(false);

        jLabel4.setText("Select a well");

        wellsComboBox.setOpaque(false);

        jLabel3.setText("number tracks for selected well:");

        tracksNumberWellTextField.setEditable(false);
        tracksNumberWellTextField.setBackground(new java.awt.Color(255, 255, 255));
        tracksNumberWellTextField.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        tracksNumberWellTextField.setBorder(null);
        tracksNumberWellTextField.setFocusable(false);

        conditionRadioButton.setText("from condition");

        wellRadioButton.setText("from well");

        jScrollPane1.setBorder(javax.swing.BorderFactory.createTitledBorder("Plotted Tracks"));

        plottedTracksTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(plottedTracksTable);

        plotSettingsPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        plotSettingsPanel.setPreferredSize(new java.awt.Dimension(20, 20));
        plotSettingsPanel.setLayout(new java.awt.BorderLayout());

        otherOptionsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Scale Axes"));

        doNotScaleRadioButton.setText("no");

        scaleToConditionRadioButton.setText("to condition");

        scaleToExperimentRadioButton.setText("to experiment");

        javax.swing.GroupLayout otherOptionsPanelLayout = new javax.swing.GroupLayout(otherOptionsPanel);
        otherOptionsPanel.setLayout(otherOptionsPanelLayout);
        otherOptionsPanelLayout.setHorizontalGroup(
            otherOptionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(otherOptionsPanelLayout.createSequentialGroup()
                .addGroup(otherOptionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(scaleToExperimentRadioButton)
                    .addComponent(scaleToConditionRadioButton)
                    .addComponent(doNotScaleRadioButton))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        otherOptionsPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {doNotScaleRadioButton, scaleToConditionRadioButton, scaleToExperimentRadioButton});

        otherOptionsPanelLayout.setVerticalGroup(
            otherOptionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(otherOptionsPanelLayout.createSequentialGroup()
                .addComponent(doNotScaleRadioButton)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(scaleToConditionRadioButton)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(scaleToExperimentRadioButton))
        );

        javax.swing.GroupLayout trackingPlotPanelLayout = new javax.swing.GroupLayout(trackingPlotPanel);
        trackingPlotPanel.setLayout(trackingPlotPanelLayout);
        trackingPlotPanelLayout.setHorizontalGroup(
            trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(tracksNumberWellTextField)
                        .addGap(200, 200, 200))
                    .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                        .addComponent(plotAllTracksButton, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, trackingPlotPanelLayout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                        .addGap(72, 72, 72))
                    .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                        .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, trackingPlotPanelLayout.createSequentialGroup()
                                .addComponent(jLabel2)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(randomTracksNumberTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel8)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                                .addComponent(tracksNumberConditionTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(otherOptionsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(plotSettingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                        .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(randomAndPlotButton, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(wellRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 226, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(conditionRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 226, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                                .addComponent(jLabel4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(wellsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(201, 201, 201))))
        );
        trackingPlotPanelLayout.setVerticalGroup(
            trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(randomTracksNumberTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel2)
                            .addComponent(jLabel8)))
                    .addComponent(plotSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(trackingPlotPanelLayout.createSequentialGroup()
                        .addComponent(conditionRadioButton)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(wellRadioButton)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel1)
                            .addComponent(tracksNumberConditionTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, Short.MAX_VALUE)
                        .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wellsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4)))
                    .addComponent(otherOptionsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(trackingPlotPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel3)
                    .addComponent(tracksNumberWellTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 265, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(randomAndPlotButton)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(plotAllTracksButton))
        );

        trackingPlotPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {randomTracksNumberTextField, tracksNumberConditionTextField, tracksNumberWellTextField});

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.gridheight = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 0.45;
        gridBagConstraints.weighty = 0.93;
        bottomPanel.add(trackingPlotPanel, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 0.93;
        overviewPanel.add(bottomPanel, gridBagConstraints);

        trackCoordinatesTabbedPane.addTab("Overview", overviewPanel);

        globalViewPanel.setLayout(new java.awt.GridBagLayout());

        optionsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Plot Options"));
        optionsPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        optionsPanel.setPreferredSize(new java.awt.Dimension(20, 20));

        globalViewPlotSettingsPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        globalViewPlotSettingsPanel.setPreferredSize(new java.awt.Dimension(20, 20));
        globalViewPlotSettingsPanel.setLayout(new java.awt.BorderLayout());

        doNotScaleGlobViewRadioButton.setText("do not scale axes");

        scaleGlobViewRadioButton.setText("scale axes to experiment");

        nColsComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "3", "4", "5" }));

        jLabel5.setText("Number of Columns:");

        globalViewUnshiftedCoordinatesRadioButton.setText("unshifted coordinates");
        globalViewUnshiftedCoordinatesRadioButton.setOpaque(false);

        globalViewShiftedCoordinatesRadioButton.setText("coordinates shifted to (0, 0)");
        globalViewShiftedCoordinatesRadioButton.setOpaque(false);

        javax.swing.GroupLayout optionsPanelLayout = new javax.swing.GroupLayout(optionsPanel);
        optionsPanel.setLayout(optionsPanelLayout);
        optionsPanelLayout.setHorizontalGroup(
            optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(optionsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(doNotScaleGlobViewRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(scaleGlobViewRadioButton))
                .addGap(28, 28, 28)
                .addGroup(optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(globalViewShiftedCoordinatesRadioButton)
                    .addComponent(globalViewUnshiftedCoordinatesRadioButton))
                .addGap(18, 18, 18)
                .addGroup(optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(optionsPanelLayout.createSequentialGroup()
                        .addComponent(jLabel5)
                        .addGap(18, 18, 18)
                        .addComponent(nColsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(globalViewPlotSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(311, 311, 311))
        );
        optionsPanelLayout.setVerticalGroup(
            optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(optionsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(doNotScaleGlobViewRadioButton)
                        .addComponent(globalViewUnshiftedCoordinatesRadioButton))
                    .addComponent(globalViewPlotSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(optionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(scaleGlobViewRadioButton)
                    .addComponent(globalViewShiftedCoordinatesRadioButton)
                    .addComponent(jLabel5)
                    .addComponent(nColsComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 0.15;
        globalViewPanel.add(optionsPanel, gridBagConstraints);

        graphicsParentPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Global View"));
        graphicsParentPanel.setMinimumSize(new java.awt.Dimension(20, 20));
        graphicsParentPanel.setPreferredSize(new java.awt.Dimension(20, 20));
        graphicsParentPanel.setLayout(new java.awt.GridBagLayout());
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 0.85;
        globalViewPanel.add(graphicsParentPanel, gridBagConstraints);

        trackCoordinatesTabbedPane.addTab("Global View", globalViewPanel);

        exploreTrackParentPanel.setLayout(new java.awt.GridBagLayout());
        trackCoordinatesTabbedPane.addTab("Explore", exploreTrackParentPanel);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(trackCoordinatesTabbedPane)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(trackCoordinatesTabbedPane, javax.swing.GroupLayout.Alignment.TRAILING)
        );
    }// </editor-fold>//GEN-END:initComponents
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel bottomPanel;
    private javax.swing.JRadioButton conditionRadioButton;
    private javax.swing.JPanel coordinatesParentPanel;
    private javax.swing.JPanel dataTablePanel;
    private javax.swing.JRadioButton doNotScaleGlobViewRadioButton;
    private javax.swing.JRadioButton doNotScaleRadioButton;
    private javax.swing.JPanel exploreTrackParentPanel;
    private javax.swing.JPanel globalViewPanel;
    private javax.swing.JPanel globalViewPlotSettingsPanel;
    private javax.swing.JRadioButton globalViewShiftedCoordinatesRadioButton;
    private javax.swing.JRadioButton globalViewUnshiftedCoordinatesRadioButton;
    private javax.swing.JPanel graphicsParentPanel;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JComboBox nColsComboBox;
    private javax.swing.JPanel optionsPanel;
    private javax.swing.JPanel otherOptionsPanel;
    private javax.swing.JPanel overviewPanel;
    private javax.swing.JButton plotAllTracksButton;
    private javax.swing.JPanel plotSettingsPanel;
    private javax.swing.JTable plottedTracksTable;
    private javax.swing.JPanel radioButtonsPanel;
    private javax.swing.JButton randomAndPlotButton;
    private javax.swing.JTextField randomTracksNumberTextField;
    private javax.swing.JRadioButton scaleGlobViewRadioButton;
    private javax.swing.JRadioButton scaleToConditionRadioButton;
    private javax.swing.JRadioButton scaleToExperimentRadioButton;
    private javax.swing.JRadioButton shiftedCoordinatesRadioButton;
    private javax.swing.JLabel tableInfoLabel;
    private javax.swing.JTabbedPane trackCoordinatesTabbedPane;
    private javax.swing.JPanel trackingPlotPanel;
    private javax.swing.JTextField tracksNumberConditionTextField;
    private javax.swing.JTextField tracksNumberWellTextField;
    private javax.swing.JRadioButton unshiftedCoordinatesRadioButton;
    private javax.swing.JRadioButton wellRadioButton;
    private javax.swing.JComboBox wellsComboBox;
    // End of variables declaration//GEN-END:variables
}
